package be.nepherte.movmanager.client;

import be.nepherte.movmanager.client.ui.i18n.Constants;
import be.nepherte.movmanager.client.ui.tabframework.TabSink;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.RootPanel;

/**
 * <p>
 * This class is the main and only entry point for MovManager. To start the
 * application, this class should be run. It has to be enlisted as an entry
 * point in movmanager.gwt.xml. When launched, it creates a {@link TabSink}; 
 * a sort of panel with a horizontal tab menu bar.
 * </p>
 * 
 * <p>
 * Copyright © 2010 Bart Verhoeven
 * </p>
 * 
 * <p>
 * This file is part of MovManager.
 * </p>
 * 
 * <p>
 * MovManager is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * </p>
 * 
 * <p>
 * MovManager is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 * </p>
 * 
 * <p>
 * You should have received a copy of the GNU General Public License along with
 * MovManager. If not, see http://www.gnu.org/licenses/.
 * </p>
 * 
 * @author Bart Verhoeven
 * @version 0.1
 */
public class MovManager implements EntryPoint {
	
	public static final Constants constants = GWT.create(Constants.class);

	/**
	 * <p>
	 * The entry point method, called automatically by loading a module that
	 * declares an implementing class as an entry point.
	 * </p>
	 * 
	 * <p>
	 * Upon loading the module, the tab framework {@link TabSink} is created.
	 * </p>
	 */
	@Override
	public void onModuleLoad() {
		RootPanel.get().add(new TabSink());
	}
}
